using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Attributes;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Attributes.DomainAttributes;
using Baci.Net.ToolKit.ArcGISProGeoprocessor.Models.Enums;
using System.Collections.Generic;
using System.ComponentModel;

namespace Baci.ArcGIS._AnalysisTools._Statistics
{
    /// <summary>
    /// <para>Enrich Layer</para>
    /// <para>Enriches your data by adding demographic and landscape facts about the people and places that surround or are inside your data locations. The output is a duplicate of your input with new attribute fields added to the table.
    /// This tool requires an ArcGIS Online organizational account and consumes credits.</para>
    /// <para>通过添加有关数据位置周围或内部的人员和地点的人口统计和景观事实来丰富数据。输出是输入的副本，并将新的属性字段添加到表中。
    /// 此工具需要 ArcGIS Online 组织帐户并消耗配额。</para>
    /// </summary>    
    [DisplayName("Enrich Layer")]
    public class EnrichLayer : AbstractGPProcess
    {
        /// <summary>
        /// 无参构造
        /// </summary>
        public EnrichLayer()
        {

        }

        /// <summary>
        /// 有参构造
        /// </summary>
        /// <param name="_in_features">
        /// <para>Input Features</para>
        /// <para>The features to enrich with new data.</para>
        /// <para>使用新数据丰富功能。</para>
        /// </param>
        /// <param name="_out_feature_class">
        /// <para>Output Feature Class</para>
        /// <para>The output feature class, which is a copy of the input features with new attribute fields added.</para>
        /// <para>输出要素类，它是添加了新属性字段的输入要素的副本。</para>
        /// </param>
        /// <param name="_country">
        /// <para>Country</para>
        /// <para>The country whose data collections and variables are used to enrich the input. You can use the Global country code to obtain enriched data from anywhere in the world. Global can also be used when you have input features that are in more than one country.</para>
        /// <para>其数据集合和变量用于丰富输入的国家/地区。您可以使用全球国家/地区代码从世界任何地方获取扩充的数据。当您的输入要素位于多个国家/地区时，也可以使用全局。</para>
        /// </param>
        /// <param name="_data_collection">
        /// <para>Data Collection</para>
        /// <para>The collection of data used to enrich the input. You can specify a data collection without selecting any variables to enrich your data with all variables included in that collection. The Global country code only includes one data collection, KeyGlobalFacts.</para>
        /// <para>用于扩充输入的数据集合。您可以在不选择任何变量的情况下指定数据集合，以使用该集合中包含的所有变量来扩充数据。全球国家/地区代码仅包括一个数据集合，即 KeyGlobalFacts。</para>
        /// </param>
        public EnrichLayer(object _in_features, object _out_feature_class, _country_value? _country, object _data_collection)
        {
            this._in_features = _in_features;
            this._out_feature_class = _out_feature_class;
            this._country = _country;
            this._data_collection = _data_collection;
        }
        public override string ToolboxName => "Analysis Tools";

        public override string ToolName => "Enrich Layer";

        public override string CallName => "analysis.EnrichLayer";

        public override List<string> AcceptEnvironments => ["XYDomain", "XYResolution", "XYTolerance", "ZDomain", "ZResolution", "ZTolerance", "extent", "geographicTransformations", "outputCoordinateSystem", "outputZFlag", "outputZValue", "scratchWorkspace", "workspace"];

        public override object[] ParameterInfo => [_in_features, _out_feature_class, _country.GetGPValue(), _data_collection, _variables, _buffer_type.GetGPValue(), _distance, _unit.GetGPValue(), _CollectionMemory];

        /// <summary>
        /// <para>Input Features</para>
        /// <para>The features to enrich with new data.</para>
        /// <para>使用新数据丰富功能。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Input Features")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _in_features { get; set; }


        /// <summary>
        /// <para>Output Feature Class</para>
        /// <para>The output feature class, which is a copy of the input features with new attribute fields added.</para>
        /// <para>输出要素类，它是添加了新属性字段的输入要素的副本。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Output Feature Class")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _out_feature_class { get; set; }


        /// <summary>
        /// <para>Country</para>
        /// <para>The country whose data collections and variables are used to enrich the input. You can use the Global country code to obtain enriched data from anywhere in the world. Global can also be used when you have input features that are in more than one country.</para>
        /// <para>其数据集合和变量用于丰富输入的国家/地区。您可以使用全球国家/地区代码从世界任何地方获取扩充的数据。当您的输入要素位于多个国家/地区时，也可以使用全局。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Country")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public _country_value? _country { get; set; }

        public enum _country_value
        {
            /// <summary>
            /// <para>Global</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Global")]
            [GPEnumValue("Global")]
            _Global,

            /// <summary>
            /// <para>United States (US)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("United States (US)")]
            [GPEnumValue("United States (US)")]
            value1,

            /// <summary>
            /// <para>Albania (AL)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Albania (AL)")]
            [GPEnumValue("Albania (AL)")]
            value2,

            /// <summary>
            /// <para>Algeria (DZ)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Algeria (DZ)")]
            [GPEnumValue("Algeria (DZ)")]
            value3,

            /// <summary>
            /// <para>Andorra (AD)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Andorra (AD)")]
            [GPEnumValue("Andorra (AD)")]
            value4,

            /// <summary>
            /// <para>Angola (AO)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Angola (AO)")]
            [GPEnumValue("Angola (AO)")]
            value5,

            /// <summary>
            /// <para>Argentina (AR)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Argentina (AR)")]
            [GPEnumValue("Argentina (AR)")]
            value6,

            /// <summary>
            /// <para>Armenia (AM)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Armenia (AM)")]
            [GPEnumValue("Armenia (AM)")]
            value7,

            /// <summary>
            /// <para>Aruba (AW)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Aruba (AW)")]
            [GPEnumValue("Aruba (AW)")]
            value8,

            /// <summary>
            /// <para>Australia (AU)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Australia (AU)")]
            [GPEnumValue("Australia (AU)")]
            value9,

            /// <summary>
            /// <para>Austria (AT)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Austria (AT)")]
            [GPEnumValue("Austria (AT)")]
            value10,

            /// <summary>
            /// <para>Azerbaijan (AZ)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Azerbaijan (AZ)")]
            [GPEnumValue("Azerbaijan (AZ)")]
            value11,

            /// <summary>
            /// <para>Bahamas (BS)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Bahamas (BS)")]
            [GPEnumValue("Bahamas (BS)")]
            value12,

            /// <summary>
            /// <para>Bahrain (BH)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Bahrain (BH)")]
            [GPEnumValue("Bahrain (BH)")]
            value13,

            /// <summary>
            /// <para>Bangladesh (BD)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Bangladesh (BD)")]
            [GPEnumValue("Bangladesh (BD)")]
            value14,

            /// <summary>
            /// <para>Belarus (BY)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Belarus (BY)")]
            [GPEnumValue("Belarus (BY)")]
            value15,

            /// <summary>
            /// <para>Belgium (BE)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Belgium (BE)")]
            [GPEnumValue("Belgium (BE)")]
            value16,

            /// <summary>
            /// <para>Bermuda (BM)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Bermuda (BM)")]
            [GPEnumValue("Bermuda (BM)")]
            value17,

            /// <summary>
            /// <para>Bolivia (BO)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Bolivia (BO)")]
            [GPEnumValue("Bolivia (BO)")]
            value18,

            /// <summary>
            /// <para>Bosnia and Herzegovina (BA)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Bosnia and Herzegovina (BA)")]
            [GPEnumValue("Bosnia and Herzegovina (BA)")]
            value19,

            /// <summary>
            /// <para>Botswana (BW)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Botswana (BW)")]
            [GPEnumValue("Botswana (BW)")]
            value20,

            /// <summary>
            /// <para>Brazil (BR)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Brazil (BR)")]
            [GPEnumValue("Brazil (BR)")]
            value21,

            /// <summary>
            /// <para>Bulgaria (BG)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Bulgaria (BG)")]
            [GPEnumValue("Bulgaria (BG)")]
            value22,

            /// <summary>
            /// <para>Cameroon (CM)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Cameroon (CM)")]
            [GPEnumValue("Cameroon (CM)")]
            value23,

            /// <summary>
            /// <para>Canada (CA)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Canada (CA)")]
            [GPEnumValue("Canada (CA)")]
            value24,

            /// <summary>
            /// <para>Cayman Islands (KY)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Cayman Islands (KY)")]
            [GPEnumValue("Cayman Islands (KY)")]
            value25,

            /// <summary>
            /// <para>Chile (CL)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Chile (CL)")]
            [GPEnumValue("Chile (CL)")]
            value26,

            /// <summary>
            /// <para>China (CN)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("China (CN)")]
            [GPEnumValue("China (CN)")]
            value27,

            /// <summary>
            /// <para>Colombia (CO)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Colombia (CO)")]
            [GPEnumValue("Colombia (CO)")]
            value28,

            /// <summary>
            /// <para>Costa Rica (CR)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Costa Rica (CR)")]
            [GPEnumValue("Costa Rica (CR)")]
            value29,

            /// <summary>
            /// <para>Cote d'Ivoire (CI)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Cote d'Ivoire (CI)")]
            [GPEnumValue("Cote d'Ivoire (CI)")]
            value30,

            /// <summary>
            /// <para>Croatia (HR)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Croatia (HR)")]
            [GPEnumValue("Croatia (HR)")]
            value31,

            /// <summary>
            /// <para>Cyprus (CY)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Cyprus (CY)")]
            [GPEnumValue("Cyprus (CY)")]
            value32,

            /// <summary>
            /// <para>Czech Republic (CZ)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Czech Republic (CZ)")]
            [GPEnumValue("Czech Republic (CZ)")]
            value33,

            /// <summary>
            /// <para>Denmark (DK)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Denmark (DK)")]
            [GPEnumValue("Denmark (DK)")]
            value34,

            /// <summary>
            /// <para>Dominican Republic (DO)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Dominican Republic (DO)")]
            [GPEnumValue("Dominican Republic (DO)")]
            value35,

            /// <summary>
            /// <para>Ecuador (EC)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Ecuador (EC)")]
            [GPEnumValue("Ecuador (EC)")]
            value36,

            /// <summary>
            /// <para>Egypt (EG)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Egypt (EG)")]
            [GPEnumValue("Egypt (EG)")]
            value37,

            /// <summary>
            /// <para>El Salvador (SV)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("El Salvador (SV)")]
            [GPEnumValue("El Salvador (SV)")]
            value38,

            /// <summary>
            /// <para>Estonia (EE)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Estonia (EE)")]
            [GPEnumValue("Estonia (EE)")]
            value39,

            /// <summary>
            /// <para>Faroe Islands (FO)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Faroe Islands (FO)")]
            [GPEnumValue("Faroe Islands (FO)")]
            value40,

            /// <summary>
            /// <para>Finland (FI)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Finland (FI)")]
            [GPEnumValue("Finland (FI)")]
            value41,

            /// <summary>
            /// <para>France (FR)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("France (FR)")]
            [GPEnumValue("France (FR)")]
            value42,

            /// <summary>
            /// <para>French Polynesia (PF)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("French Polynesia (PF)")]
            [GPEnumValue("French Polynesia (PF)")]
            value43,

            /// <summary>
            /// <para>Georgia (GE)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Georgia (GE)")]
            [GPEnumValue("Georgia (GE)")]
            value44,

            /// <summary>
            /// <para>Germany (DE)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Germany (DE)")]
            [GPEnumValue("Germany (DE)")]
            value45,

            /// <summary>
            /// <para>Ghana (GH)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Ghana (GH)")]
            [GPEnumValue("Ghana (GH)")]
            value46,

            /// <summary>
            /// <para>Greece (GR)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Greece (GR)")]
            [GPEnumValue("Greece (GR)")]
            value47,

            /// <summary>
            /// <para>Greenland (GL)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Greenland (GL)")]
            [GPEnumValue("Greenland (GL)")]
            value48,

            /// <summary>
            /// <para>Guadaloupe (GP)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Guadaloupe (GP)")]
            [GPEnumValue("Guadaloupe (GP)")]
            value49,

            /// <summary>
            /// <para>Guatemala (GT)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Guatemala (GT)")]
            [GPEnumValue("Guatemala (GT)")]
            value50,

            /// <summary>
            /// <para>Honduras (HN)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Honduras (HN)")]
            [GPEnumValue("Honduras (HN)")]
            value51,

            /// <summary>
            /// <para>Hong Kong (HK)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Hong Kong (HK)")]
            [GPEnumValue("Hong Kong (HK)")]
            value52,

            /// <summary>
            /// <para>Hungary (HU)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Hungary (HU)")]
            [GPEnumValue("Hungary (HU)")]
            value53,

            /// <summary>
            /// <para>Iceland (IS)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Iceland (IS)")]
            [GPEnumValue("Iceland (IS)")]
            value54,

            /// <summary>
            /// <para>India (IN)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("India (IN)")]
            [GPEnumValue("India (IN)")]
            value55,

            /// <summary>
            /// <para>Indonesia (ID)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Indonesia (ID)")]
            [GPEnumValue("Indonesia (ID)")]
            value56,

            /// <summary>
            /// <para>Ireland (IE)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Ireland (IE)")]
            [GPEnumValue("Ireland (IE)")]
            value57,

            /// <summary>
            /// <para>Israel (IL)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Israel (IL)")]
            [GPEnumValue("Israel (IL)")]
            value58,

            /// <summary>
            /// <para>Italy (IT)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Italy (IT)")]
            [GPEnumValue("Italy (IT)")]
            value59,

            /// <summary>
            /// <para>Jamaica (JM)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Jamaica (JM)")]
            [GPEnumValue("Jamaica (JM)")]
            value60,

            /// <summary>
            /// <para>Japan (JP)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Japan (JP)")]
            [GPEnumValue("Japan (JP)")]
            value61,

            /// <summary>
            /// <para>Jordan (JO)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Jordan (JO)")]
            [GPEnumValue("Jordan (JO)")]
            value62,

            /// <summary>
            /// <para>Kazakhstan (KZ)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Kazakhstan (KZ)")]
            [GPEnumValue("Kazakhstan (KZ)")]
            value63,

            /// <summary>
            /// <para>Kenya (KE)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Kenya (KE)")]
            [GPEnumValue("Kenya (KE)")]
            value64,

            /// <summary>
            /// <para>Kosovo (XK)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Kosovo (XK)")]
            [GPEnumValue("Kosovo (XK)")]
            value65,

            /// <summary>
            /// <para>Kuwait (KW)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Kuwait (KW)")]
            [GPEnumValue("Kuwait (KW)")]
            value66,

            /// <summary>
            /// <para>Kyrgyzstan (KG)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Kyrgyzstan (KG)")]
            [GPEnumValue("Kyrgyzstan (KG)")]
            value67,

            /// <summary>
            /// <para>Latvia (LV)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Latvia (LV)")]
            [GPEnumValue("Latvia (LV)")]
            value68,

            /// <summary>
            /// <para>Lebanon (LB)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Lebanon (LB)")]
            [GPEnumValue("Lebanon (LB)")]
            value69,

            /// <summary>
            /// <para>Lesotho (LS)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Lesotho (LS)")]
            [GPEnumValue("Lesotho (LS)")]
            value70,

            /// <summary>
            /// <para>Liechtenstein (LI)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Liechtenstein (LI)")]
            [GPEnumValue("Liechtenstein (LI)")]
            value71,

            /// <summary>
            /// <para>Lithuania (LT)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Lithuania (LT)")]
            [GPEnumValue("Lithuania (LT)")]
            value72,

            /// <summary>
            /// <para>Luxembourg (LU)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Luxembourg (LU)")]
            [GPEnumValue("Luxembourg (LU)")]
            value73,

            /// <summary>
            /// <para>Macao (MO)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Macao (MO)")]
            [GPEnumValue("Macao (MO)")]
            value74,

            /// <summary>
            /// <para>Malawi (MW)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Malawi (MW)")]
            [GPEnumValue("Malawi (MW)")]
            value75,

            /// <summary>
            /// <para>Malaysia (MY)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Malaysia (MY)")]
            [GPEnumValue("Malaysia (MY)")]
            value76,

            /// <summary>
            /// <para>Malta (MT)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Malta (MT)")]
            [GPEnumValue("Malta (MT)")]
            value77,

            /// <summary>
            /// <para>Martinique (MQ)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Martinique (MQ)")]
            [GPEnumValue("Martinique (MQ)")]
            value78,

            /// <summary>
            /// <para>Mauritius (MU)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Mauritius (MU)")]
            [GPEnumValue("Mauritius (MU)")]
            value79,

            /// <summary>
            /// <para>Mexico (MX)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Mexico (MX)")]
            [GPEnumValue("Mexico (MX)")]
            value80,

            /// <summary>
            /// <para>Moldova (MD)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Moldova (MD)")]
            [GPEnumValue("Moldova (MD)")]
            value81,

            /// <summary>
            /// <para>Monaco (MC)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Monaco (MC)")]
            [GPEnumValue("Monaco (MC)")]
            value82,

            /// <summary>
            /// <para>Mongolia (MN)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Mongolia (MN)")]
            [GPEnumValue("Mongolia (MN)")]
            value83,

            /// <summary>
            /// <para>Montenegro (ME)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Montenegro (ME)")]
            [GPEnumValue("Montenegro (ME)")]
            value84,

            /// <summary>
            /// <para>Morocco (MA)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Morocco (MA)")]
            [GPEnumValue("Morocco (MA)")]
            value85,

            /// <summary>
            /// <para>Mozambique (MZ)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Mozambique (MZ)")]
            [GPEnumValue("Mozambique (MZ)")]
            value86,

            /// <summary>
            /// <para>Namibia (NA)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Namibia (NA)")]
            [GPEnumValue("Namibia (NA)")]
            value87,

            /// <summary>
            /// <para>Netherlands (NL)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Netherlands (NL)")]
            [GPEnumValue("Netherlands (NL)")]
            value88,

            /// <summary>
            /// <para>New Caledonia (NC)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("New Caledonia (NC)")]
            [GPEnumValue("New Caledonia (NC)")]
            value89,

            /// <summary>
            /// <para>New Zealand (NZ)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("New Zealand (NZ)")]
            [GPEnumValue("New Zealand (NZ)")]
            value90,

            /// <summary>
            /// <para>Nicaragua (NI)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Nicaragua (NI)")]
            [GPEnumValue("Nicaragua (NI)")]
            value91,

            /// <summary>
            /// <para>Nigeria (NG)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Nigeria (NG)")]
            [GPEnumValue("Nigeria (NG)")]
            value92,

            /// <summary>
            /// <para>Norway (NO)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Norway (NO)")]
            [GPEnumValue("Norway (NO)")]
            value93,

            /// <summary>
            /// <para>Oman (OM)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Oman (OM)")]
            [GPEnumValue("Oman (OM)")]
            value94,

            /// <summary>
            /// <para>Pakistan (PK)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Pakistan (PK)")]
            [GPEnumValue("Pakistan (PK)")]
            value95,

            /// <summary>
            /// <para>Panama (PA)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Panama (PA)")]
            [GPEnumValue("Panama (PA)")]
            value96,

            /// <summary>
            /// <para>Paraguay (PY)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Paraguay (PY)")]
            [GPEnumValue("Paraguay (PY)")]
            value97,

            /// <summary>
            /// <para>Peru (PE)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Peru (PE)")]
            [GPEnumValue("Peru (PE)")]
            value98,

            /// <summary>
            /// <para>Philippines (PH)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Philippines (PH)")]
            [GPEnumValue("Philippines (PH)")]
            value99,

            /// <summary>
            /// <para>Poland (PL)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Poland (PL)")]
            [GPEnumValue("Poland (PL)")]
            value100,

            /// <summary>
            /// <para>Portugal (PT)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Portugal (PT)")]
            [GPEnumValue("Portugal (PT)")]
            value101,

            /// <summary>
            /// <para>Puerto Rico (PR)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Puerto Rico (PR)")]
            [GPEnumValue("Puerto Rico (PR)")]
            value102,

            /// <summary>
            /// <para>Qatar (QA)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Qatar (QA)")]
            [GPEnumValue("Qatar (QA)")]
            value103,

            /// <summary>
            /// <para>Reunion (RE)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Reunion (RE)")]
            [GPEnumValue("Reunion (RE)")]
            value104,

            /// <summary>
            /// <para>Romania (RO)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Romania (RO)")]
            [GPEnumValue("Romania (RO)")]
            value105,

            /// <summary>
            /// <para>Russia (RU)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Russia (RU)")]
            [GPEnumValue("Russia (RU)")]
            value106,

            /// <summary>
            /// <para>Saudi Arabia (SA)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Saudi Arabia (SA)")]
            [GPEnumValue("Saudi Arabia (SA)")]
            value107,

            /// <summary>
            /// <para>Serbia (RS)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Serbia (RS)")]
            [GPEnumValue("Serbia (RS)")]
            value108,

            /// <summary>
            /// <para>Singapore (SG)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Singapore (SG)")]
            [GPEnumValue("Singapore (SG)")]
            value109,

            /// <summary>
            /// <para>Slovakia (SK)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Slovakia (SK)")]
            [GPEnumValue("Slovakia (SK)")]
            value110,

            /// <summary>
            /// <para>Slovenia (SI)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Slovenia (SI)")]
            [GPEnumValue("Slovenia (SI)")]
            value111,

            /// <summary>
            /// <para>South Africa (ZA)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("South Africa (ZA)")]
            [GPEnumValue("South Africa (ZA)")]
            value112,

            /// <summary>
            /// <para>South Korea (KR)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("South Korea (KR)")]
            [GPEnumValue("South Korea (KR)")]
            value113,

            /// <summary>
            /// <para>Spain (ES)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Spain (ES)")]
            [GPEnumValue("Spain (ES)")]
            value114,

            /// <summary>
            /// <para>Sri Lanka (LK)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Sri Lanka (LK)")]
            [GPEnumValue("Sri Lanka (LK)")]
            value115,

            /// <summary>
            /// <para>Sudan (SD)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Sudan (SD)")]
            [GPEnumValue("Sudan (SD)")]
            value116,

            /// <summary>
            /// <para>Swaziland (SZ)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Swaziland (SZ)")]
            [GPEnumValue("Swaziland (SZ)")]
            value117,

            /// <summary>
            /// <para>Sweden (SE)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Sweden (SE)")]
            [GPEnumValue("Sweden (SE)")]
            value118,

            /// <summary>
            /// <para>Switzerland (CH)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Switzerland (CH)")]
            [GPEnumValue("Switzerland (CH)")]
            value119,

            /// <summary>
            /// <para>Syria (SY)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Syria (SY)")]
            [GPEnumValue("Syria (SY)")]
            value120,

            /// <summary>
            /// <para>Taiwan (TW)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Taiwan (TW)")]
            [GPEnumValue("Taiwan (TW)")]
            value121,

            /// <summary>
            /// <para>Tajikistan (TJ)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Tajikistan (TJ)")]
            [GPEnumValue("Tajikistan (TJ)")]
            value122,

            /// <summary>
            /// <para>Tanzania (TZ)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Tanzania (TZ)")]
            [GPEnumValue("Tanzania (TZ)")]
            value123,

            /// <summary>
            /// <para>Thailand (TH)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Thailand (TH)")]
            [GPEnumValue("Thailand (TH)")]
            value124,

            /// <summary>
            /// <para>The Former Yugoslav Republic of Macedonia (MK)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("The Former Yugoslav Republic of Macedonia (MK)")]
            [GPEnumValue("The Former Yugoslav Republic of Macedonia (MK)")]
            value125,

            /// <summary>
            /// <para>Trinidad and Tobago (TT)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Trinidad and Tobago (TT)")]
            [GPEnumValue("Trinidad and Tobago (TT)")]
            value126,

            /// <summary>
            /// <para>Tunisia (TN)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Tunisia (TN)")]
            [GPEnumValue("Tunisia (TN)")]
            value127,

            /// <summary>
            /// <para>Turkey (TR)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Turkey (TR)")]
            [GPEnumValue("Turkey (TR)")]
            value128,

            /// <summary>
            /// <para>Uganda (UG)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Uganda (UG)")]
            [GPEnumValue("Uganda (UG)")]
            value129,

            /// <summary>
            /// <para>Ukraine (UA)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Ukraine (UA)")]
            [GPEnumValue("Ukraine (UA)")]
            value130,

            /// <summary>
            /// <para>United Arab Emirates (AE)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("United Arab Emirates (AE)")]
            [GPEnumValue("United Arab Emirates (AE)")]
            value131,

            /// <summary>
            /// <para>United Kingdom (GB)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("United Kingdom (GB)")]
            [GPEnumValue("United Kingdom (GB)")]
            value132,

            /// <summary>
            /// <para>United States (US)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("United States (US)")]
            [GPEnumValue("United States (US)")]
            value133,

            /// <summary>
            /// <para>Uruguay (UY)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Uruguay (UY)")]
            [GPEnumValue("Uruguay (UY)")]
            value134,

            /// <summary>
            /// <para>Uzbekistan (UZ)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Uzbekistan (UZ)")]
            [GPEnumValue("Uzbekistan (UZ)")]
            value135,

            /// <summary>
            /// <para>Venezuela (VE)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Venezuela (VE)")]
            [GPEnumValue("Venezuela (VE)")]
            value136,

            /// <summary>
            /// <para>Vietnam (VN)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Vietnam (VN)")]
            [GPEnumValue("Vietnam (VN)")]
            value137,

            /// <summary>
            /// <para>Zambia (ZM)</para>
            /// <para></para>
            /// <para></para>
            /// </summary>
            [Description("Zambia (ZM)")]
            [GPEnumValue("Zambia (ZM)")]
            value138,

        }

        /// <summary>
        /// <para>Data Collection</para>
        /// <para>The collection of data used to enrich the input. You can specify a data collection without selecting any variables to enrich your data with all variables included in that collection. The Global country code only includes one data collection, KeyGlobalFacts.</para>
        /// <para>用于扩充输入的数据集合。您可以在不选择任何变量的情况下指定数据集合，以使用该集合中包含的所有变量来扩充数据。全球国家/地区代码仅包括一个数据集合，即 KeyGlobalFacts。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Data Collection")]
        [Description("")]
        [Option(OptionTypeEnum.Must)]
        public object _data_collection { get; set; }


        /// <summary>
        /// <para>Variables</para>
        /// <para>The specific variables used to enrich the input. Variables can be from one or multiple data collections.</para>
        /// <para>用于扩充输入的特定变量。变量可以来自一个或多个数据集合。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Variables")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public List<object> _variables { get; set; } = null;


        /// <summary>
        /// <para>Define areas to enrich</para>
        /// <para><xdoc>
        ///   <para>If the input features are points, you must define an area around them to enrich from one of the following seven types. If the input features are lines, Straight line (Euclidean distance) is the only valid option.</para>
        ///   <bulletList>
        ///     <bullet_item>Straight line (Euclidean distance)—Straight-line or Euclidean distance is used as the distance measure.</bullet_item><para/>
        ///     <bullet_item>Driving time—Driving time is used as the distance measure. Current posted speed limits, one-way streets, and turn restrictions affect driving time.</bullet_item><para/>
        ///     <bullet_item>Driving distance—Driving distance is used as the distance measure. One-way streets and turn restrictions affect driving distance.</bullet_item><para/>
        ///     <bullet_item>Trucking time—Trucking time is used as the distance measure. Current posted speed limits, one-way streets, and turn restrictions affect trucking time. This option is similar to Driving time, but travel can only occur on roads that are suitable for trucks.</bullet_item><para/>
        ///     <bullet_item>Trucking distance—Trucking distance is used as the distance measure. One-way streets and turn restrictions affect trucking distance. This option is similar to Driving distance, but travel can only occur on roads that are suitable for trucks.</bullet_item><para/>
        ///     <bullet_item>Walking time—Walking time is used as the distance measure. Measurements are made using a walking speed of 5 KPH (3.1 MPH). Travel is allowed where pedestrians are allowed, such as trails, but not on limited-access highways.</bullet_item><para/>
        ///     <bullet_item>Walking distance—Walking distance is used as the distance measure. Travel is allowed where pedestrians are allowed, such as trails, but not on limited-access highways.</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>如果输入要素是点，则必须定义其周围的区域，以便从以下七种类型之一进行丰富。如果输入要素为直线，则直线（欧几里得距离）是唯一有效选项。</para>
        ///   <bulletList>
        ///     <bullet_item>直线（欧几里得距离）—直线距离或欧几里得距离用作距离测量值。</bullet_item><para/>
        ///     <bullet_item>行驶时间—行驶时间用作距离测量值。当前公布的限速、单行道和转弯限制会影响驾驶时间。</bullet_item><para/>
        ///     <bullet_item>行驶距离—行驶距离用作距离测量值。单行道和转弯限制会影响行驶距离。</bullet_item><para/>
        ///     <bullet_item>货运时间—货运时间用作距离测量。当前公布的限速、单行道和转弯限制会影响卡车运输时间。此选项类似于驾驶时间，但只能在适合卡车行驶的道路上行驶。</bullet_item><para/>
        ///     <bullet_item>货运距离—货运距离用作距离度量。单行道和转弯限制会影响卡车运输距离。此选项类似于行驶距离，但只能在适合卡车行驶的道路上行驶。</bullet_item><para/>
        ///     <bullet_item>步行时间—步行时间用作距离测量值。使用 5 公里/小时（3.1 英里/小时）的步行速度进行测量。允许行人通行的地方（例如小径）允许行驶，但不允许在限制通行的高速公路上行驶。</bullet_item><para/>
        ///     <bullet_item>步行距离—步行距离用作距离度量。允许行人通行的地方（例如小径）允许行驶，但不允许在限制通行的高速公路上行驶。</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Define areas to enrich")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _buffer_type_value _buffer_type { get; set; } = _buffer_type_value._STRAIGHT_LINE;

        public enum _buffer_type_value
        {
            /// <summary>
            /// <para>Straight line (Euclidean distance)</para>
            /// <para>Straight line (Euclidean distance)—Straight-line or Euclidean distance is used as the distance measure.</para>
            /// <para>直线（欧几里得距离）—直线距离或欧几里得距离用作距离测量值。</para>
            /// </summary>
            [Description("Straight line (Euclidean distance)")]
            [GPEnumValue("STRAIGHT_LINE")]
            _STRAIGHT_LINE,

            /// <summary>
            /// <para>Driving distance</para>
            /// <para>Driving distance—Driving distance is used as the distance measure. One-way streets and turn restrictions affect driving distance.</para>
            /// <para>行驶距离—行驶距离用作距离测量值。单行道和转弯限制会影响行驶距离。</para>
            /// </summary>
            [Description("Driving distance")]
            [GPEnumValue("DRIVING_DISTANCE")]
            _DRIVING_DISTANCE,

            /// <summary>
            /// <para>Driving time</para>
            /// <para>Driving time—Driving time is used as the distance measure. Current posted speed limits, one-way streets, and turn restrictions affect driving time.</para>
            /// <para>行驶时间—行驶时间用作距离测量值。当前公布的限速、单行道和转弯限制会影响驾驶时间。</para>
            /// </summary>
            [Description("Driving time")]
            [GPEnumValue("DRIVE_TIME")]
            _DRIVE_TIME,

            /// <summary>
            /// <para>Trucking distance</para>
            /// <para>Trucking distance—Trucking distance is used as the distance measure. One-way streets and turn restrictions affect trucking distance. This option is similar to Driving distance, but travel can only occur on roads that are suitable for trucks.</para>
            /// <para>货运距离—货运距离用作距离度量。单行道和转弯限制会影响卡车运输距离。此选项类似于行驶距离，但只能在适合卡车行驶的道路上行驶。</para>
            /// </summary>
            [Description("Trucking distance")]
            [GPEnumValue("TRUCKING_DISTANCE")]
            _TRUCKING_DISTANCE,

            /// <summary>
            /// <para>Trucking time</para>
            /// <para>Trucking time—Trucking time is used as the distance measure. Current posted speed limits, one-way streets, and turn restrictions affect trucking time. This option is similar to Driving time, but travel can only occur on roads that are suitable for trucks.</para>
            /// <para>货运时间—货运时间用作距离测量。当前公布的限速、单行道和转弯限制会影响卡车运输时间。此选项类似于驾驶时间，但只能在适合卡车行驶的道路上行驶。</para>
            /// </summary>
            [Description("Trucking time")]
            [GPEnumValue("TRUCKING_TIME")]
            _TRUCKING_TIME,

            /// <summary>
            /// <para>Walking distance</para>
            /// <para>Walking distance—Walking distance is used as the distance measure. Travel is allowed where pedestrians are allowed, such as trails, but not on limited-access highways.</para>
            /// <para>步行距离—步行距离用作距离度量。允许行人通行的地方（例如小径）允许行驶，但不允许在限制通行的高速公路上行驶。</para>
            /// </summary>
            [Description("Walking distance")]
            [GPEnumValue("WALKING_DISTANCE")]
            _WALKING_DISTANCE,

            /// <summary>
            /// <para>Walking time</para>
            /// <para>Walking time—Walking time is used as the distance measure. Measurements are made using a walking speed of 5 KPH (3.1 MPH). Travel is allowed where pedestrians are allowed, such as trails, but not on limited-access highways.</para>
            /// <para>步行时间—步行时间用作距离测量值。使用 5 公里/小时（3.1 英里/小时）的步行速度进行测量。允许行人通行的地方（例如小径）允许行驶，但不允许在限制通行的高速公路上行驶。</para>
            /// </summary>
            [Description("Walking time")]
            [GPEnumValue("WALKING_TIME")]
            _WALKING_TIME,

        }

        /// <summary>
        /// <para>Distance or time</para>
        /// <para>The value that determines the straight-line distance or drive time around the input features for areas to enrich. The unit of the distance or time should be supplied in the Unit parameter.</para>
        /// <para>用于确定要丰富区域的输入要素周围的直线距离或行驶时间的值。应在 Unit 参数中提供距离或时间的单位。</para>
        /// <para></para>
        /// </summary>
        [DisplayName("Distance or time")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public double _distance { get; set; } = 1;


        /// <summary>
        /// <para>Unit</para>
        /// <para><xdoc>
        ///   <para>Specifies the unit for Distance or time parameter value.</para>
        ///   <bulletList>
        ///     <bullet_item>Miles—Miles</bullet_item><para/>
        ///     <bullet_item>Yards—Yards</bullet_item><para/>
        ///     <bullet_item>Feet—Feet</bullet_item><para/>
        ///     <bullet_item>Kilometers—Kilometers</bullet_item><para/>
        ///     <bullet_item>Meters—Meters</bullet_item><para/>
        ///     <bullet_item>Hours—Hours</bullet_item><para/>
        ///     <bullet_item>Minutes—Minutes</bullet_item><para/>
        ///     <bullet_item>Seconds—Seconds</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para><xdoc>
        ///   <para>指定“距离”或“时间”参数值的单位。</para>
        ///   <bulletList>
        ///     <bullet_item>英里 - 英里</bullet_item><para/>
        ///     <bullet_item>码 - 码</bullet_item><para/>
        ///     <bullet_item>英尺 - 英尺</bullet_item><para/>
        ///     <bullet_item>公里 - 公里</bullet_item><para/>
        ///     <bullet_item>米 - 米</bullet_item><para/>
        ///     <bullet_item>小时 - 小时</bullet_item><para/>
        ///     <bullet_item>分钟 - 分钟</bullet_item><para/>
        ///     <bullet_item>秒 - 秒</bullet_item><para/>
        ///   </bulletList>
        /// </xdoc></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Unit")]
        [Description("")]
        [Option(OptionTypeEnum.optional)]
        public _unit_value _unit { get; set; } = _unit_value._MILES;

        public enum _unit_value
        {
            /// <summary>
            /// <para>Miles</para>
            /// <para>Miles—Miles</para>
            /// <para>英里 - 英里</para>
            /// </summary>
            [Description("Miles")]
            [GPEnumValue("MILES")]
            _MILES,

            /// <summary>
            /// <para>Yards</para>
            /// <para>Yards—Yards</para>
            /// <para>码 - 码</para>
            /// </summary>
            [Description("Yards")]
            [GPEnumValue("YARDS")]
            _YARDS,

            /// <summary>
            /// <para>Feet</para>
            /// <para>Feet—Feet</para>
            /// <para>英尺 - 英尺</para>
            /// </summary>
            [Description("Feet")]
            [GPEnumValue("FEET")]
            _FEET,

            /// <summary>
            /// <para>Kilometers</para>
            /// <para>Kilometers—Kilometers</para>
            /// <para>公里 - 公里</para>
            /// </summary>
            [Description("Kilometers")]
            [GPEnumValue("KILOMETERS")]
            _KILOMETERS,

            /// <summary>
            /// <para>Meters</para>
            /// <para>Meters—Meters</para>
            /// <para>米 - 米</para>
            /// </summary>
            [Description("Meters")]
            [GPEnumValue("METERS")]
            _METERS,

            /// <summary>
            /// <para>Hours</para>
            /// <para>Hours—Hours</para>
            /// <para>小时 - 小时</para>
            /// </summary>
            [Description("Hours")]
            [GPEnumValue("HOURS")]
            _HOURS,

            /// <summary>
            /// <para>Minutes</para>
            /// <para>Minutes—Minutes</para>
            /// <para>分钟 - 分钟</para>
            /// </summary>
            [Description("Minutes")]
            [GPEnumValue("MINUTES")]
            _MINUTES,

            /// <summary>
            /// <para>Seconds</para>
            /// <para>Seconds—Seconds</para>
            /// <para>秒 - 秒</para>
            /// </summary>
            [Description("Seconds")]
            [GPEnumValue("SECONDS")]
            _SECONDS,

        }

        /// <summary>
        /// <para>Temporary data used for tool execution</para>
        /// <para></para>
        /// <para></para>
        /// <para></para>
        /// </summary>
        [DisplayName("Temporary data used for tool execution")]
        [Description("")]
        [Option(OptionTypeEnum.derived)]
        public object _CollectionMemory { get; set; }


        public EnrichLayer SetEnv(object XYDomain = null, object XYResolution = null, object XYTolerance = null, object ZDomain = null, object ZResolution = null, object ZTolerance = null, object extent = null, object geographicTransformations = null, object outputCoordinateSystem = null, object outputZFlag = null, object outputZValue = null, object scratchWorkspace = null, object workspace = null)
        {
            base.SetEnv(XYDomain: XYDomain, XYResolution: XYResolution, XYTolerance: XYTolerance, ZDomain: ZDomain, ZResolution: ZResolution, ZTolerance: ZTolerance, extent: extent, geographicTransformations: geographicTransformations, outputCoordinateSystem: outputCoordinateSystem, outputZFlag: outputZFlag, outputZValue: outputZValue, scratchWorkspace: scratchWorkspace, workspace: workspace);
            return this;
        }

    }

}